//
// Created by Administrator on 2023/12/12.
//
/*
3.1 编程题 1
试题名称：小杨的字典
        时间限制：1.0 s
        内存限制：128.0 MB
3.1.1 问题描述
        在遥远的星球，有两个国家 A 国和 B 国，他们使用着不同的语言：A 语言和 B 语言。小杨是 B 国的翻译官，他的工
        作是将 A 语言的文章翻译成 B 语言的文章。
为了顺利完成工作，小杨制作了一本字典，里面记录了 个 A 语言单词对应的 B 语言单词，巧合的是，这些单词都
        由地球上的 26 个小写英文字母组成。
小杨希望你写一个程序，帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号 !()-[]{}\|;:'",./?
<> 和一些 A 语言单词构成，每个单词之间必定由至少一个标点符号分割，你的程序需要把这段话中的所有 A 语言
        单词替换成它的 B 语言翻译。特别地，如果遇到不在字典中的单词，请使用大写 UNK 来替换它。
例如，小杨的字典中包含 2 个 A 语言单词 abc 和 d ，它们的 B 语言翻译分别为 a 和 def ，那么我们可以把 A
语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. ，其中，单词 abcd 不在词典内，因此我
        们需要使用 UNK 来替换它。
3.1.2 输入描述
        第一行一个整数 N，表示词典中的条目数。保证N<=100 。
接下来 N行，每行两个用单个空格隔开的字符串A,B ，分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻
        译。保证所有 A不重复；保证A 和 B的长度不超过10 。
最后一行一个字符串 S，表示需要翻译的 A 语言文章。保证字符串S 的长度不超过1000 ，保证字符串S 只包含小写
字母以及标点符号 !()-[]{}\|;:'",./?<> 。
3.1.3 输出描述
        输出一行，表示翻译后的结果。

input1:
2
abc a
d def
abc.d.d.abc.abcd.
output1:
a.def.def.a.UNK.

input2:
3
abc a
d def
abcd xxxx
abc,(d)d!-abc?abcd
output2:
a,(def)def!-a?xxxx

input3:
 1
abcdefghij klmnopqrst
!()-[]{\|;:",./?<>abcdefghijklmnopqrstuvwxyz
output3:
 !()-[]{}\|;:'",./?<>UNK
*/

#include <iostream>
#include <map>
using namespace std;

bool isCharInStr(char c, string s="!()-[]{}\\|;:,./?<>\"")
{
    for(char i : s)
    {
        if(i==c)
            return true;
    }
    return false;
}

int main()
{
    int n=2;
    cin>>n;
    map<string,string> dict;
//    dict["abc"]="a";
//    dict["d"]="def";
    for (int i = 0; i < n; ++i)
    {
            string a,b;
            cin>>a>>b;
            dict[a]=b;
    }
    string str="abc..d.d.abc.abcd";
    cin>>str;
    int str_len = str.size();
    string t;
    for (int i = 0; i <= str_len; ++i)
    {
        char c = str[i];
        if(isCharInStr(str[i]) || i==str_len)
        {
            if(dict.count(t))
                cout<<dict[t];
            else if(t!="")
                cout<<"UNK";
//            cout<<t<<endl;
            cout<<str[i];
            t="";
        }else
        t+=str[i];
    }

    return 0;
}